package cl.usm.taller.corona.action;

import java.util.List;
import java.util.Map;


import cl.usm.taller.corona.dao.UsuarioDao;
import cl.usm.taller.corona.model.Usuario;


import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;



public class UsuarioAction extends ActionSupport {
 
    public static final long serialVersionUID = 9149826260758390091L;
    public Usuario usuario;
    public List<Usuario> usuarioList;
    public Integer id;
 
    private UsuarioDao usuarioDao;
 
    public UsuarioAction() {
    	usuarioDao = new UsuarioDao();
    }

    public String list(){
    	
    	this.usuarioList = usuarioDao.list();
    	return SUCCESS;
    }
    
    public String add() {
        System.out.println(getUsuario());
        try {
            usuarioDao.persist(getUsuario());
        } catch (Exception e) {
            e.printStackTrace();
        }
        this.usuarioList = usuarioDao.list();
        return SUCCESS;
    }
 
    public String delete() {
        usuarioDao.delete(getId());
        return SUCCESS; 
    }

    public String logout() {
    	  Map session = ActionContext.getContext().getSession();
    	  session.remove("logged-in");
    	  return SUCCESS;
    }
    
    public String login(){
    
    	if(usuarioDao.login(getUsuario())){
			Map session = ActionContext.getContext().getSession();
			session.put("logged-in","true");			
    		return SUCCESS;
    	}else{
    		addActionError("Nombre de usuario o password no encontrado!!"); 
        	return ERROR;	
    	}
    	
    	
    }
    
    public Usuario getUsuario() {
        return usuario;
    }
 
    public List<Usuario> getUsuarioList() {
        return usuarioList;
    }
 
    public void setContact(Usuario contact) {
        this.usuario = contact;
    }
 
    public void setContactList(List<Usuario> contactsList) {
        this.usuarioList = contactsList;
    }
 
    public Integer getId() {
        return id;
    }
 
    public void setId(Integer id) {
        this.id = id;
    }
}
